package cn.alise.enums;

/**
 * 枚举类
 * @author CHENH
 *
 */
public class EnumClass {
	
	/**
	 * 通用状态
	 */
	public enum Status {

		VALID(1, "有效"),
		
		UNVALID(2, "无效");
		
		private final int key;

		private final String value;

		// 构造器默认也只能是private, 从而保证构造函数只能在内部使用
		Status(int key,String value) {
			this.key = key;
			this.value = value;
		}

		public int getKey() {
			return key;
		}

		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 日志操作类型
	 */
	public enum LogOperation {

		HANDEL(1, "操作"),
		
		EXCEPTION(2, "异常");
		
		private final int key;

		private final String value;

		// 构造器默认也只能是private, 从而保证构造函数只能在内部使用
		LogOperation(int key,String value) {
			this.key = key;
			this.value = value;
		}

		public int getKey() {
			return key;
		}

		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 用户状态
	 */
	public enum UserStatus {

		VALID(1, "有效"),
		
		CANCEL(0, "注销");
		
		private final int key;

		private final String value;

		// 构造器默认也只能是private, 从而保证构造函数只能在内部使用
		UserStatus(int key,String value) {
			this.key = key;
			this.value = value;
		}

		public int getKey() {
			return key;
		}

		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 错误码
	 */
	public enum ResultCodeType {

		SUCCESS(0, "成功"),
		
		FAIL(-1, "失败"),
		
		RETURNFAIL(-2, "返回失败"),
		
		SYSERROR(1, "系统异常"),
		
		LOGINERROR(2, "账号或密码不正确"),
		
		ACCOUNT_NOT_EXSIT(1000, "客户账号不存在"),
		
		ACCOUNT_CANCEL(1001, "客户账号已注销"),
		
		ACCOUNT_NULL(1002, "客户账号不能为空"),
		
		LOL_NULL(1003, "摘要lol不能为空"),
		
		SPARAM_NULL(1004, "加密参数不能为空"),
		
		SPARAM_WRONGFUL(1005, "摘要不合法"),
		
		SPARAM_ERROR(1006, "摘要验证异常"),
		
		JSON_ERROR(1007, "报文解析异常"),
		
		USER_NOT_EXIST(1008, "账户不存在"),
		
		EXPIRE_TIME(1009, "账户使用权限已到期"),
		
		PASSWORD_ERROR(1010, "密码错误"),
		
		IMG_LIMIT_ERROR(1011, "已超过最大允许图片数量"),
		
		IMG_NOT_EXIST(1012, "图片不存在"),
		
		VIDEO_LIMIT_ERROR(1013, "已超过最大允许视频数量"),
		
		VIDEO_NOT_EXIST(1014, "视频不存在"),
		
		PRICE_LIMIT_ERROR(1015, "已超过最大允许价格数量"),
		
		PRICE_NOT_EXIST(1016, "价格不存在"),
		
		IMPORT_FILE_ERROR(1017, "导入数据失败，导入文件错误"),
		
		ACCOUNT_LIMIT_ERROR(1018, "已超过最大允许子账号数量"),
		
		ACCOUNT_EXIST(1019, "新增失败，该账号已存在"),
		
		TOKEN_NULL(1020, "token为空"),
		
		TOKEN_ERROR(1021, "token不正确"),
		
		TOKEN_NOTEXIST(1022, "token不存在");
		
		private final int key;

		private final String value;

		// 构造器默认也只能是private, 从而保证构造函数只能在内部使用
		ResultCodeType(int key,String value) {
			this.key = key;
			this.value = value;
		}

		public int getKey() {
			return key;
		}

		public String getValue() {
			return value;
		}
	}
}
